-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Improve compatibility with Wayland clipboard #30251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
We require contributors to sign our Contributor License Agreement, and we don't have @aldofunes on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'. |
@cla-bot check |
The cla-bot has been summoned, and re-checked this pull request! |
This commit adds UTF8_STRING and text/plain to wayland clipboard
Hi could this fix also be related to clipboard issues on Pop!_OS? I'm experiencing something similar — occasionally I can't copy from Zed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Glad the fix was so straightforward! I'd be happy to add even more here if they make sense :)
commit 3fb1023667e1ce4affce4a9177fe11800d838115 Author: Smit Barmase <[email protected]> Date: Mon Jun 2 16:37:36 2025 +0530 editor: Fix columnar selection incorrectly uses cursor to start selection instead of mouse position (#31888) Closes #13905 This PR fixes columnar selection to originate from mouse position instead of current cursor position. Now columnar selection behaves as same as Sublime Text. 1. Columnar selection from click-and-drag on text (New): https://github.com/user-attachments/assets/f2e721f4-109f-4d81-a25b-8534065bfb37 2. Columnar selection from click-and-drag on empty space (New): https://github.com/user-attachments/assets/c2bb02e9-c006-4193-8d76-097233a47a3c 3. Multi cursors at end of line when no interecting text found (New): https://github.com/user-attachments/assets/e47d5ab3-0b5f-4e55-81b3-dfe450f149b5 4. Converting normal selection to columnar selection (Existing): https://github.com/user-attachments/assets/e5715679-ebae-4f5a-ad17-d29864e14e1e Release Notes: - Fixed the issue where the columnar selection (`opt+shift`) incorrectly used the cursor to start the selection instead of the mouse position. commit 9c715b470e46a9e500d5fb6139122fd5ed4707da Author: Umesh Yadav <[email protected]> Date: Mon Jun 2 16:05:22 2025 +0530 agent: Show actual file name and icon in context pill (#31813) Previously in the agent context pill if we added images it showed generic Image tag on the image context pill. This PR make sure if we have a path available for a image context show the filename which is in line with other context pills. Before | After --- | ---  |  Release Notes: - N/A --------- Co-authored-by: Bennet Bo Fenner <[email protected]> commit ae219e9e99f47b6bd23f1c7557af449897d49847 Author: Oleksiy Syvokon <[email protected]> Date: Mon Jun 2 13:18:44 2025 +0300 agent: Fix bug with double-counting tokens in Gemini (#31885) We report the total number of input tokens by summing the numbers of 1. Prompt tokens 2. Cached tokens But Google API returns prompt tokens (1) that already include cached tokens (2), so we were double counting tokens in some cases. Release Notes: - Fixed bug with double-counting tokens in Gemini commit 6d99c127967b1e7455458cb36aca298b4f679b7a Author: Bennet Bo Fenner <[email protected]> Date: Mon Jun 2 11:52:47 2025 +0200 assistant_context_editor: Fix copy paste regression (#31882) Closes #31166 Release Notes: - Fixed an issue where copying and pasting an assistant response in text threads would result in duplicate text commit 8fb7fa941ac2225ebee3458402c1fabc8239c035 Author: Kirill Bulatov <[email protected]> Date: Mon Jun 2 11:59:57 2025 +0300 Suppress log blade_graphics -related logs by default (#31881) Release Notes: - N/A commit 22d75b798e192290e931966daed00c28b391baef Author: Joseph T. Lyons <[email protected]> Date: Mon Jun 2 02:58:57 2025 -0400 Notify when pinning a tab even if the tab isn't moved (#31880) The optimization to not move a tab being pinned (when the destination index is the same as its index) in https://github.com/zed-industries/zed/pull/31871 caused a regression, as we were no longer calling `cx.notify()` indirectly through `move_item`. Thanks for catching this, @smitbarmase. Release Notes: - N/A commit 06a199da4d8a147c7867f4c82ffafed4974bea24 Author: Smit Barmase <[email protected]> Date: Mon Jun 2 10:45:40 2025 +0530 editor: Fix completion accept for optional chaining in Typescript (#31878) Closes #31662 Currently, we assume `insert_range` will always end at the cursor and `replace_range` will also always end after the cursor for calculating range to replace. This is a particular case for the rust-analyzer, but not widely true for other language servers. This PR fixes this assumption, and now `insert_range` and `replace_range` both can end before cursor. In this particular case: ```ts let x: string | undefined; x.tostˇ // here insert as well as replace range is just "." while new_text is "?.toString()" ``` This change makes it such that if final range to replace ends before cursor, we extend it till the cursor. Bonus: - Improves suffix and subsequence matching to use `label` over `new_text` as `new_text` can contain end characters like `()` or `$` which is not visible while accepting the completion. - Make suffix and subsequence check case insensitive. - Fixes broken subsequence matching which was not considering the order of characters while matching subsequence. Release Notes: - Fixed an issue where autocompleting optional chaining methods in TypeScript, such as `x.tostr`, would result in `x?.toString()tostr` instead of `x?.toString()`. commit ab6125ddde518c0c021ecae54f64d86b8c4f5008 Author: Joseph T. Lyons <[email protected]> Date: Sun Jun 1 19:50:06 2025 -0400 Fix bugs around pinned tabs (#31871) Closes https://github.com/zed-industries/zed/issues/31870 Release Notes: - Allowed opening 1 more item if `n` tabs are pinned, where `n` equals `max_tabs` count. - Fixed a bug where pinned tabs would eventually be closed out when exceeding the `max_tabs` count. - Fixed a bug where a tab could be lost when pinning a tab while at the `max_tabs` count. - Fixed a bug where pinning a tab when already at the `max_tabs` limit could cause other tabs to be incorrectly closed. commit d3bc561f26e8077a1de8ffb98b7d9e012133980c Author: Joseph T. Lyons <[email protected]> Date: Sun Jun 1 11:15:33 2025 -0400 Disable close clean menu item when all are dirty (#31859) This PR disables the "Close Clean" tab context menu action if all items are dirty. <img width="595" alt="SCR-20250601-kaev" src="https://github.com/user-attachments/assets/add30762-b483-4701-9053-141d2dfe9b05" /> <img width="573" alt="SCR-20250601-kahl" src="https://github.com/user-attachments/assets/24f260e4-01d6-48d6-a6f4-a13ae59c246e" /> Also did a bit more general refactoring. Release Notes: - N/A commit f13f2dfb70f28fae4f844d99b80d875588501a8f Author: Joseph T. Lyons <[email protected]> Date: Sat May 31 23:31:38 2025 -0400 Ensure item-closing actions do not panic when no items are present (#31845) This PR adds a comprehensive test that ensures that no item-closing action will panic when no items are present. A test already existed (`test_remove_active_empty `) that ensured `CloseActiveItem` didn't panic, but the new test covers: - `CloseActiveItem` - `CloseInactiveItems` - `CloseAllItems` - `CloseCleanItems` - `CloseItemsToTheRight` - `CloseItemsToTheLeft` I plan to do a bit more clean up in `pane.rs` and this feels like a good thing to add before that. Release Notes: - N/A commit 24e4446cd35a7946674c8993cc14138d4b67e194 Author: Joseph T. Lyons <[email protected]> Date: Sat May 31 19:38:32 2025 -0400 Refactor item-closing actions (#31838) While working on - https://github.com/zed-industries/zed/pull/31783 - https://github.com/zed-industries/zed/pull/31786 ... I noticed some areas that could be improved through refactoring. The bug in https://github.com/zed-industries/zed/pull/31783 came from having duplicate code. The fix had been applied to one version, but not the duplicated code. This PR attempts to do some initial clean up, through some refactoring. Release Notes: - N/A commit cc536655a1efc2b82a978faf22a1ad9ffc3a57d8 Author: Aleksei Gusev <[email protected]> Date: Sat May 31 20:02:56 2025 +0300 Fix slowness in Terminal when vi-mode is enabled (#31824) It seems alacritty handles vi-mode motions in a special way and it is up to the client to decide when redraw is necessary. With this change, `TerminalView` notifies the context if a keystroke is processed and vi mode is enabled. Fixes #31447 Before: https://github.com/user-attachments/assets/a78d4ba0-23a3-4660-a834-2f92948f586c After: https://github.com/user-attachments/assets/cabbb0f4-a1f9-4f1c-87d8-a56a10e35cc8 Release Notes: - Fixed sluggish cursor motions in Terminal when Vi Mode is enabled [#31447] commit 2a9e73c65d79e2a34dc0f005963f8050946c34ee Author: Kartik Vashistha <[email protected]> Date: Sat May 31 15:30:29 2025 +0100 docs: Update Ansible docs (#31817) Release Notes: - N/A commit 4f1728e5ee0bb7f9981d3d8e5dd702728e1ff48e Author: Kirill Bulatov <[email protected]> Date: Sat May 31 13:10:15 2025 +0300 Do not unwrap when updating inline diagnostics (#31814) Also do not hold the strong editor reference while debounced. Release Notes: - N/A commit 40c91d5df06b6d3f213c9cfda3ceb243ed0b2f12 Author: Christian Bergschneider <[email protected]> Date: Sat May 31 00:45:03 2025 +0200 gpui: Implement window_handle and display_handle for wayland platform (#28152) This PR implements the previously unimplemented window_handle and display_handle methods in the wayland platform. It also exposes the display_handle method through the Window struct. Release Notes: - N/A commit fe1b36671dfad10a403c45212ba2fd1e9e284418 Author: Kirill Bulatov <[email protected]> Date: Sat May 31 01:37:40 2025 +0300 Do not error on debugger server connection close (#31795) Start to show islands of logs in a successful debugger runs for Rust: <img width="1728" alt="1" src="https://github.com/user-attachments/assets/7400201b-b900-4b20-8adf-21850ae59671" /> <img width="1728" alt="2" src="https://github.com/user-attachments/assets/e75cc5f1-1f74-41d6-b7aa-697a4b2f055b" /> Release Notes: - N/A commit bb9e2b040395ecef28f11706ef3df20d0faa279b Author: Agus Zubiaga <[email protected]> Date: Fri May 30 19:06:08 2025 -0300 Fix existing CompletionMode deserialization (#31790) https://github.com/zed-industries/zed/pull/31668 renamed `CompletionMode::Max` to `CompletionMode::Burn` which is a good change, but this broke the deserialization for threads whose completion mode was stored in LMDB. This adds a deserialization alias so that both values work. We could make a full new `SerializedThread` version which migrates this value, but that seems overkill for this single change, we can batch that with more changes later. Also, people in nightly already have some v1 threads with `burn` stored, so it wouldn't quite work for everybody. Release Notes: - N/A commit 4f8d7f0a6b72a2e7da9d15a1ead9e8436be914e6 Author: Yaroslav Pietukhov <[email protected]> Date: Sat May 31 00:22:52 2025 +0300 Disallow running Zed with root privileges (#31331) This will fix a lot of weird problems that are based on file access issues. As discussed in https://github.com/zed-industries/zed/pull/31219#issuecomment-2905371710, for now it's better to just prevent running Zed with root privileges. Release Notes: - Explicitly disallow running Zed with root privileges --------- Co-authored-by: Peter Tripp <[email protected]> commit caf3d30bf63fe11b1c30c8c6dda043487b2e1867 Author: Danilo Leal <[email protected]> Date: Fri May 30 18:18:23 2025 -0300 Harmonize quick action icons (#31784) Just ensuring they're more harmonized in size, stroke width, and overall dimensions. Adding here two new "play" icons, too, that will be used in the context of the debugger. <img src="https://github.com/user-attachments/assets/79bcf0b0-e995-4c8e-9c78-0aba32f42f2d" width="400" /> Release Notes: - N/A commit df0cf22347b66ce133dac02ce568848307dc5176 Author: Peter Tripp <[email protected]> Date: Fri May 30 17:09:55 2025 -0400 Add powershell language docs (#31787) Release Notes: - N/A commit a305eda8d159dd13160c689963818480c3c4d357 Author: Piotr Osiewicz <[email protected]> Date: Fri May 30 23:08:41 2025 +0200 debugger: Relax implementation of `validate_config` to not run validation (#31785) When we moved to schema-based debug configs, we've added validate_config - a trait method that is supposed to both validate the configuration and determine whether it is a launch configuration or an attach configuration. The validation bit is a bit problematic though - we received reports on Discords about scenarios not starting up properly; it turned out that Javascript's implementation was overly strict. Thus, I got rid of any code that tries to validate the config - let's let the debug adapter itself decide whether it can digest the configuration or not. validate_config is now left unimplemented for most DebugAdapter implementations (except for PHP), because all adapters use `request`: 'launch'/'attach' for that. Let's leave the trait method in place though, as nothing guarantees this to be true for all adapters. cc @Anthony-Eid Release Notes: - debugger: Improved error messages when the debug scenario is not valid. - debugger: Fixed cases where valid configs were rejected. commit ba7b1db054b6142a74691d408dc00500acd83762 Author: Joseph T. Lyons <[email protected]> Date: Fri May 30 17:03:31 2025 -0400 Mark items as pinned via `!` in tests (#31786) Release Notes: - N/A commit 019c8ded77b2d352c03da9f6cc28316d7301059e Author: Joseph T. Lyons <[email protected]> Date: Fri May 30 16:48:33 2025 -0400 Fix bug where pinned tabs were closed when closing others (#31783) Closes https://github.com/zed-industries/zed/issues/28166 Release Notes: - Fixed a bug where pinned tabs were closed when running `Close Others` from the tab context menu commit 1704dbea7ec900229a8a4cd961a4d4d48be34ac3 Author: Fernando Carletti <[email protected]> Date: Fri May 30 17:38:21 2025 -0300 keymap: Add subword navigation and selection to Sublime Text keymap (#30268) For reference, this is what is set in Sublime Text's default-keymap files for both MacOS and Linux: ```json { "keys": ["ctrl+left"], "command": "move", "args": {"by": "words", "forward": false} }, { "keys": ["ctrl+right"], "command": "move", "args": {"by": "word_ends", "forward": true} }, { "keys": ["ctrl+shift+left"], "command": "move", "args": {"by": "words", "forward": false, "extend": true} }, { "keys": ["ctrl+shift+right"], "command": "move", "args": {"by": "word_ends", "forward": true, "extend": true} }, ``` Release Notes: - Add subword navigation and selection to Sublime keymap Co-authored-by: Peter Tripp <[email protected]> commit eefa6c48821055f6fff03a95302ea3daa98105be Author: Hendrik Sollich <[email protected]> Date: Fri May 30 22:37:38 2025 +0200 Icon theme selector: Don't select last list item when fuzzy searching (#29560) Adds manual icon-theme selection persistence Store manually selected icon-themes to maintain selection when query changes. This allows the theme selector to remember the user's choice rather than resetting selection when filtering results. mentioned in #28081 and #28278 Release Notes: - Improved persistence when selecting themes and icon themes. --------- Co-authored-by: Peter Tripp <[email protected]> commit 1f17df7fb067c0664e4559eabd8e22e2e5499d88 Author: Alex <[email protected]> Date: Fri May 30 22:18:32 2025 +0200 debugger: Add support for go tests (#31772) In the https://github.com/zed-industries/zed/pull/31559 I did not introduce ability to debug test invocations. Adding it here. E.g:  Release Notes: - Added support for debugging single tests written in go commit 6d687a2c2c26507d0dd8ab49ecc5c5871266a419 Author: tidely <[email protected]> Date: Fri May 30 23:12:39 2025 +0300 ollama: Change default context size to 4096 (#31682) Ollama increased their default context size from 2048 to 4096 tokens in version v0.6.7, which released over a month ago. https://github.com/ollama/ollama/releases/tag/v0.6.7 Release Notes: - ollama: Update default model context to 4096 (matching upstream) commit 32214abb64c7b7ff4587d2b2916df92fb9202149 Author: Umesh Yadav <[email protected]> Date: Sat May 31 01:41:13 2025 +0530 Improve TypeScript shebang detection (#31437) Closes #13981 Release Notes: - Improved TypeScript shebang detection commit a78563b80b653518f952b67ec8c65728713b3526 Author: Peter Tripp <[email protected]> Date: Fri May 30 16:09:22 2025 -0400 ci: Prevent "Tests Pass" job from running on forks (#31778) Example fork [actions run](https://github.com/alphaArgon/zed/actions/runs/15349715488/job/43194591563) which would be suppressed in the future. (Sorry @alphaArgon) Release Notes: - N/A commit f881cacd8a2e014b179cb4eec110b55560947871 Author: Kirill Bulatov <[email protected]> Date: Fri May 30 22:28:56 2025 +0300 Use both language and LSP icons for LSP tasks (#31773) Make more explicit which language LSP tasks are used. Before:  After:   Release Notes: - N/A commit a539a38f13fe315e718d7245b567518d075a03a3 Author: Umesh Yadav <[email protected]> Date: Sat May 31 00:58:31 2025 +0530 Revert "copilot: Fix vision request detection for follow-up messages" (#31776) Reverts zed-industries/zed#31760 see this comment for context: https://github.com/zed-industries/zed/pull/31760#issuecomment-2923158611. Release Notes: - N/A commit ca6fd101c1e2e3aff1a88d6f04f38c369d52e209 Author: Piotr Osiewicz <[email protected]> Date: Fri May 30 19:21:28 2025 +0200 debugger: Change console text color, add tooltips (#31765) - Improved legibility of console text: | Theme | Dark | Light | |--------|--------|--------| | Before |  |  | | After |  |  | Release Notes: - debugger: Improved legibility of console text - debugger: Added tooltips to all debugger items. commit f8097c7c9802d88a508bf4b5291d4d6294f5af04 Author: Aldo Funes <[email protected]> Date: Fri May 30 18:21:00 2025 +0100 Improve compatibility with Wayland clipboard (#30251) Closes #26672, #20984 Release Notes: - Fixed issue where some applications won't receive the clipboard contents from Zed Co-authored-by: Mikayla Maki <[email protected]> commit c1427ea802a1043d4741c99898054f63e58b03c9 Author: Marshall Bowers <[email protected]> Date: Fri May 30 13:16:20 2025 -0400 collab: Remove `POST /billing/subscriptions/migrate` endpoint (#31770) This PR removes the `POST /billing/subscriptions/migrate` endpoint, as it is no longer needed. Release Notes: - N/A commit 1e83022f0369f65269b27c4650a042b1e722c8e2 Author: Kirill Bulatov <[email protected]> Date: Fri May 30 20:15:42 2025 +0300 Add a JS/TS debug locator (#31769) With this, a semi-working debug session is possible from the JS/TS gutter tasks: https://github.com/user-attachments/assets/8db6ed29-b44a-4314-ae8b-a8213291bffc For now, available in debug builds only as a base to improve on later on the DAP front. Release Notes: - N/A --------- Co-authored-by: Piotr Osiewicz <[email protected]> commit 0ee900e8fbdb9643552e0504cb6c3e9daa2df5bf Author: Chung Wei Leong <[email protected]> Date: Sat May 31 01:13:50 2025 +0800 Support macOS Sequoia titlebar double-click action (#30468) Closes #16527 Release Notes: - Added MacOS titlebar double-click action --- Unfortunately, Apple doesn't seem to make the "Fill" API public or documented anywhere. Co-authored-by: Mikayla Maki <[email protected]> commit f9f4be1fc45cfa56ab25aa15fb0e954d329d100a Author: Marshall Bowers <[email protected]> Date: Fri May 30 12:37:12 2025 -0400 collab: Use `StripeClient` in `POST /billing/subscriptions/sync` endpoint (#31764) This PR updates the `POST /billing/subscriptions/sync` endpoint to use the `StripeClient` trait instead of using `stripe::Client` directly. Release Notes: - N/A commit a00b07371aa2c2da3b503fdafd889a1c3761c16e Author: Stephen Murray <[email protected]> Date: Fri May 30 12:32:49 2025 -0400 copilot: Fix vision request detection for follow-up messages (#31760) Previously, the vision request header was only set if the last message in a thread contained an image. This caused 400 errors from the Copilot API when sending follow-up messages in a thread that contained images in earlier messages. Modified the `is_vision_request` check to scan all messages in a thread for image content instead of just the last one, ensuring the proper header is set for the entire conversation. Added a unit test to verify all cases function correctly. Release Notes: - Fix GitHub Copilot chat provider error when sending follow-up messages in threads containing images commit f725b5e2484ff40afc3f465e34e7fca6ce1143fd Author: Marshall Bowers <[email protected]> Date: Fri May 30 12:08:58 2025 -0400 collab: Use `StripeClient` in `sync_subscription` (#31761) This PR updates the `sync_subscription` function to use the `StripeClient` trait instead of using `stripe::Client` directly. Release Notes: - N/A --------- Co-authored-by: Ben Brandt <[email protected]> commit 07436b428420581c6232e3b84847a3d143174373 Author: Vivek Pothina <[email protected]> Date: Fri May 30 08:32:54 2025 -0700 breadcrumbs: Stylize filename in breadcrumbs when tab-bar is off and file is dirty (#30507) Closes [#18870](https://github.com/zed-industries/zed/issues/18870) - I like to use Zed with tab_bar off - when the file is modified there is no indicator when tab_bar is off - this PR aims to fix that Thanks to @Qkessler for initial PR - #22418 This is style decided in this discussion - #22418 @iamnbutler @mikayla-maki [subtle style decided](https://github.com/zed-industries/zed/pull/22418#issuecomment-2605253667) Release Notes: - When tab_bar is off, filename in the breadcrumbs will be the indicator when file is unsaved. #### Changes - when tab_bar is off and file is dirty (unsaved) <img width="834" alt="image" src="https://github.com/user-attachments/assets/f205731b-c8e3-4d7a-9214-cbe706e372bf" /> - when tab_bar is off and file is not dirty (saved) <img width="846" alt="image" src="https://github.com/user-attachments/assets/88ea96eb-16a2-48e8-900d-64a921f0b5c3" /> - when tab_bar is on <img width="741" alt="image" src="https://github.com/user-attachments/assets/cc543544-9949-46ed-8e09-cdcbe2f47ab8" /> <img width="740" alt="image" src="https://github.com/user-attachments/assets/8d347258-26f7-4bd7-82d4-8f23dbe63d61" /> Release Notes: - Changed the highlighting of the current file to represent the current saved state, when the tab bar is turned off. commit 8bec4cbecb38775cca43c465a59d70f7f0bcda17 Author: tidely <[email protected]> Date: Fri May 30 18:28:22 2025 +0300 assistant_tools: Reduce allocations (#30776) Another batch of allocation savings. Noteworthy ones are `find_path_tool.rs` where one clone of *all* found matches was saved and `web_tool_search.rs` where the tooltip no longer clones the entire url on every hover. I'd also like to propose using `std::borrow::Cow` a lot more around the codebase instead of Strings. There are hundreds if not 1000+ clones that can be saved pretty regularly simply by switching to Cow. ´Cow´'s are likely not used because they aren't compatible with futures and because it could cause lifetime bloat. However if we use `Cow<'static, str>` (static lifetime) for when we need to pass them into futures, we could save a TON of allocations for `&'static str`. Additionally I often see structs being created using `String`'s just to be deserialized afterwards, which only requires a reference. Release Notes: - N/A commit 047e7eacec0987a06d395d6698e3f0d9fef4e6b6 Author: Jason Lee <[email protected]> Date: Fri May 30 23:26:27 2025 +0800 gpui: Improve `window.prompt` to support ESC with non-English cancel text on macOS (#29538) Release Notes: - N/A ---- The before version GPUI used `Cancel` for cancel text, if we use non-English text (e.g.: "取消" in Chinese), then the press `Esc` to cancel will not work. So this PR to change it by use `PromptButton` to instead the `&str`, then we can use `PromptButton::cancel("取消")` for the `Cancel` button. Run `cargo run -p gpui --example window` to test. --- Platform Test: - [x] macOS - [x] Windows - [x] Linux (x11 and Wayland) --------- Co-authored-by: Mikayla Maki <[email protected]> Co-authored-by: Mikayla Maki <[email protected]> commit 1d5d3de85c5f74a4c69e753872367587e4e113a4 Author: laizy <[email protected]> Date: Fri May 30 23:23:27 2025 +0800 gpui: Optimize the ordering update in the BoundsTree (#31025) Release Notes: - N/A commit c4dbaa91f0753f6c0f28bb10fcb36aae285a4b19 Author: laizy <[email protected]> Date: Fri May 30 23:18:25 2025 +0800 gpui: Fix race condition when upgrading a weak reference (#30952) Release Notes: - N/A commit 97c01c6720d220bae831bf6a582e38f393f31857 Author: Ben Brandt <[email protected]> Date: Fri May 30 15:49:09 2025 +0200 Fix model deduplication to use provider ID and model ID (#31750) Previously only used model ID for deduplication, which incorrectly filtered models with the same name from different providers. Release Notes: - Fix to make sure all provider models are shown in the model picker commit 310ea43048a046c2275261befbf1acd341689362 Author: Marshall Bowers <[email protected]> Date: Fri May 30 09:46:41 2025 -0400 danger: Check for changes in prompt files (#31744) This PR adds a Danger check to remind engineers that any changes to our various prompts need to be verified against the LLM Worker. When changes to the prompt files are detected, we will fail the PR with a message: <img width="929" alt="Screenshot 2025-05-30 at 8 40 58 AM" src="https://github.com/user-attachments/assets/79afab4e-e799-45f1-a90e-0fd7c9a73706" /> Once the corresponding changes have been made (or no changes to the LLM Worker have been determined to be necessary), including the indicated attestation message will convert the errors into informational messages: <img width="926" alt="Screenshot 2025-05-30 at 8 41 52 AM" src="https://github.com/user-attachments/assets/ff51c17a-7a76-46a7-b468-a7d864d480c3" /> Release Notes: - N/A commit 6bb4b5fa64964556d4f4843db5fe652e22948be7 Author: Piotr Osiewicz <[email protected]> Date: Fri May 30 14:32:59 2025 +0200 Revert "debugger beta: Fix bug where debug Rust main running action f… (#31743) …ailed (#31291)" This reverts commit aab76208b53334b85429486c7abd6f0bfcf58dc9. Closes #31737 I cannot repro the original issue that this commit was trying to solve anymore. Release Notes: - N/A commit e0fa3032eceaf2caa1776369b57d6792cf7ddba7 Author: Alejandro Fernández Gómez <[email protected]> Date: Fri May 30 13:18:15 2025 +0200 docs: Properly nest the docs for the inline git blame settings (#31739) From a report on [discord](https://discord.com/channels/869392257814519848/873292398204170290/1377943171320774656): reorders the docs for the inline git blame feature so they are properly nested. <img width="1719" alt="Screenshot_2025-05-30_at_11 32 17" src="https://github.com/user-attachments/assets/3c20bda3-de81-4ac3-b8e2-e1d4eac0ce88" /> Release Notes: - N/A commit 9cf6be2057ca010dbcd48a0e7b59ab1898a2d6b3 Author: Danilo Leal <[email protected]> Date: Fri May 30 08:10:12 2025 -0300 agent: Add Burn Mode setting migrator (#31718) Follow-up https://github.com/zed-industries/zed/pull/31470. Release Notes: - N/A commit 5462e199fbd316179cef4060239d0984b64ed94c Author: Piotr Osiewicz <[email protected]> Date: Fri May 30 12:43:29 2025 +0200 debugger: Fix wrong path to the downloaded delve-shim-dap (#31738) Closes #ISSUE Release Notes: - N/A commit 3a60420b41bfc3a1e2bb647051f966f5ee7ec667 Author: Piotr Osiewicz <[email protected]> Date: Fri May 30 10:53:19 2025 +0200 debugger: Fix delve-dap-shim path on Windows (#31735) Closes #ISSUE Release Notes: - debugger: Fixed wrong path being picked up for delve on Windows - debugger: Fixed delve not respecting the user-provided binary path from settings. commit 89c184a26fa40c237e64a63fa7a4830002bc5c96 Author: Simon Pham <[email protected]> Date: Fri May 30 15:29:52 2025 +0700 markdown_preview: Fix release notes title being overridden (#31703) Closes: #31701 Screenshot: <img width="383" alt="image" src="https://github.com/user-attachments/assets/7fd8ce70-2208-4aca-bc70-860d6c649765" /> Release Notes: - Fixed in-app release notes having an incorrect title --------- Co-authored-by: Gilles Peiffer <[email protected]> commit d7f0241d7b3745f32ca3d5e0c10a2ff70bf031a2 Author: Michael Sloan <[email protected]> Date: Fri May 30 01:53:02 2025 -0600 editor: Defer the effects of `change_selections` to end of `transact` (#31731) In quite a few places the selection is changed multiple times in a transaction. For example, `backspace` might do it 3 times: * `select_autoclose_pair` * selection of the ranges to delete * `insert` of empty string also updates selection Before this change, each of these selection changes appended to selection history and did a bunch of work that's only relevant to selections the user actually sees. So for each backspace, `editor::UndoSelection` would need to be invoked 3-4 times before the cursor actually moves. It still needs to be run twice after this change, but that is a separate issue. Signature help even had a `backspace_pressed: bool` as an incomplete workaround, to avoid it flickering due to the selection switching between being a range and being cursor-like. The original motivation for this change is work I'm doing on not re-querying completions when the language server provides a response that has `is_incomplete: false`. Whether the menu is still visible is determined by the cursor position, and this was complicated by it seeing `backspace` temporarily moving the head of the selection 1 character to the left. This change also removes some redundant uses of `push_to_selection_history`. Not super stoked with the name `DeferredSelectionEffectsState`. Naming is hard. Release Notes: - N/A commit 1445af559b22ceec87bbad419ecbb4e07e6d2c07 Author: Cole Miller <[email protected]> Date: Thu May 29 21:33:52 2025 -0400 Unify the tasks modal and the new session modal (#31646) Release Notes: - Debugger Beta: added a button to the quick action bar to start a debug session or spawn a task, depending on which of these actions was taken most recently. - Debugger Beta: incorporated the tasks modal into the new session modal as an additional tab. --------- Co-authored-by: Julia Ryan <[email protected]> Co-authored-by: Julia Ryan <[email protected]> Co-authored-by: Anthony Eid <[email protected]> Co-authored-by: Mikayla <[email protected]> commit 804de3316ed3240b55b9927e38ddd6de92d01c17 Author: Anthony Eid <[email protected]> Date: Fri May 30 04:22:16 2025 +0300 debugger: Update docs with more examples (#31597) This PR also shows more completion items when defining a debug config in a `debug.json` file. Mainly when using a pre build task argument. ### Follow ups - Add docs for Go, JS, PHP - Add attach docs Release Notes: - debugger beta: Show build task completions when editing a debug.json configuration with a pre build task - debugger beta: Add Python and Native Code debug config [examples](https://zed.dev/docs/debugger) commit a387bf5f54edce7558dec5c3804b03b51cbbfe9b Author: Smit Barmase <[email protected]> Date: Fri May 30 06:00:37 2025 +0530 zed: Fix migration banner not hiding after migration has been carried out (#31723) - https://github.com/zed-industries/zed/pull/30444 This PR broke migration notification to only emit event when content is migrated. This resulted in the migration banner not going away after clicking "Backup and Migrate". It should also emit event when it's not migrated which removes the banner. Future: I think we should have better tests in place for banner visibility. Release Notes: - Fixed an issue where migration banner wouldn't go away after clicking "Backup and Migrate". commit c7047d5f0a2d4567273e677e6d04a3048e0f68fb Author: Marshall Bowers <[email protected]> Date: Thu May 29 19:49:14 2025 -0400 collab: Fully move `StripeBilling` over to using `StripeClient` (#31722) This PR moves over the last method on `StripeBilling` to use the `StripeClient` trait, allowing us to fully mock out Stripe behaviors for `StripeBilling` in tests. Release Notes: - N/A commit 406d975f39823dfe5af7161d5a7d68dfa5a800c1 Author: Kirill Bulatov <[email protected]> Date: Fri May 30 02:02:59 2025 +0300 Cleanup corresponding task history on task file update (#31720) Closes https://github.com/zed-industries/zed/issues/31715 Release Notes: - Fixed old task history not erased after task file update commit cbed580db0e81021c208615a7f01f3f7613c89a5 Author: Finn Evers <[email protected]> Date: Fri May 30 00:35:22 2025 +0200 workspace: Ensure pane handle hitbox blocks mouse events (#31719) Follow-up to #31712 Pane handle hitboxes were opaque prior to the linked PR. This was the case because pane handles have an intentionally larger hitbox than the pane dividers size to allow for easier dragging. The cursor style is also updated for that hitbox to indicate that resizing is possible: https://github.com/zed-industries/zed/blob/908678403871e0ef18bbe20f78a84654dfdd431d/crates/workspace/src/pane_group.rs#L1297-L1301 Not blocking the mouse events here causes mouse events to bleed through this hitbox whilst actually any clicks will only cause a pane resize to happen. Hence, this hitbox should continue to block mouse events to avoid any confusion when resizing panes. I considered using `HitboxBehavior::BlockMouseExceptScroll` here, however, due to the reasons mentioned above, I decided against it. The cursor will not indicate that scrolling should be possible. Since all other mouse events on underlying elements (like hovers) are blocked, it felt more reasonable to just go with `HitboxBehavior::BlockMouse`. Release Notes: - N/A commit 8aef64bbfadc0060865c4d4b764f4769f6b4720e Author: Michael Sloan <[email protected]> Date: Thu May 29 16:07:34 2025 -0600 Remove `block_mouse_down` in favor of `stop_mouse_events_except_scroll` (#30401) This method was added in #20649 to be an alternative of `occlude` which allows scroll events. It seems a bit arbitrary to only stop left mouse downs, so this seems like it's probably an improvement. Release Notes: - N/A commit 908678403871e0ef18bbe20f78a84654dfdd431d Author: Michael Sloan <[email protected]> Date: Thu May 29 15:41:15 2025 -0600 gpui: Support hitbox blocking mouse interaction except scrolling (#31712) tl;dr: This adds `.block_mouse_except_scroll()` which should typically be used instead of `.occlude()` for cases when the mouse shouldn't interact with elements drawn below an element. The rationale for treating scroll events differently: * Mouse move / click / styles / tooltips are for elements the user is interacting with directly. * Mouse scroll events are about finding the current outer scroll container. Most use of `occlude` should probably be switched to this, but I figured I'd derisk this change by minimizing behavior changes to just the 3 uses of `block_mouse_except_scroll`. GPUI changes: * Added `InteractiveElement::block_mouse_except_scroll()`, and removes `stop_mouse_events_except_scroll()` * Added `Hitbox::should_handle_scroll()` to be used when handling scroll wheel events. * `Window::insert_hitbox` now takes `HitboxBehavior` instead of `occlude: bool`. - `false` for that bool is now `HitboxBehavior::Normal`. - `true` for that bool is now `HitboxBehavior::BlockMouse`. - The new mode is `HitboxBehavior::BlockMouseExceptScroll`. * Removes `Default` impl for `HitboxId` since applications should not manually create `HitboxId(0)`. Release Notes: - N/A commit 2abc5893c1495058a16c56c7c9e7544a0ead05fe Author: Kirill Bulatov <[email protected]> Date: Thu May 29 23:51:20 2025 +0300 Improve TypeScript task detection (#31711) Parses project's package.json to better detect Jasmine, Jest, Vitest and Mocha and `test`, `build` scripts presence. Also tries to detect `pnpm` and `npx` as test runners, falls back to `npm`. https://github.com/user-attachments/assets/112d3d8b-8daa-4ba5-8cb5-2f483036bd98 Release Notes: - Improved TypeScript task detection commit a23ee61a4b55ace5983b5c03b2edfe77b20013d8 Author: Marshall Bowers <[email protected]> Date: Thu May 29 16:43:12 2025 -0400 Pass up intent with completion requests (#31710) This PR adds a new `intent` field to completion requests to assist in categorizing them correctly. Release Notes: - N/A --------- Co-authored-by: Ben Brandt <[email protected]> commit 38e45e828b3e17b4192dcdeda3e921845c68d9ee Author: Simon Pham <[email protected]> Date: Fri May 30 02:39:54 2025 +0700 Add View Release Notes to Help menu (#31704) <img width="891" alt="image" src="https://github.com/user-attachments/assets/59e98fdb-c1b5-4948-8d69-661561d838f1" /> Release Notes: - Added `View Release Notes` to `Help` menu commit 181bf78b7d1815fc9e2a78ad01ea08cec1042ea1 Author: Danilo Leal <[email protected]> Date: Thu May 29 16:31:57 2025 -0300 agent: Change the navigation menu keybinding (#31709) As much as I enjoyed the previous keybinding, it was causing a conflict with the editor where it wouldn't open on text threads. To not get into a rabbit hole and complicate the fix too much, I figured simply changing it to something non-conflictual would be a good move. Release Notes: - agent: Fixed a bug where the panel navigation menu wouldn't open with the keybinding on text threads. commit c42d060509eb9c8c6e74d8d1788dc97e851add96 Author: Piotr Osiewicz <[email protected]> Date: Thu May 29 21:29:18 2025 +0200 Update debug.json in Zed repo to run the build on session startup (#31707) Closes #ISSUE Release Notes: - N/A commit 6ea9abdc1b36f6a5d9752393202f914c740958d3 Author: Peter Tripp <[email protected]> Date: Thu May 29 15:20:58 2025 -0400 Cursor keymap (#31702) To use this, spawn `weclome: toggle base keymap selector` from the command palette. <img width="589" alt="Screenshot 2025-05-29 at 14 07 35" src="https://github.com/user-attachments/assets/0d4c4eff-6a3b-40f4-9032-5d8ca7664d20" /> MacOS is well tested to match Cursor. The [curors keymap documentation](https://docs.cursor.com/kbd) is does not explicitly state windows/linux keymap entries only "All Cmd keys can be replaced with Ctrl on Windows." so that is what we've done. We welcome feedback / refinements. Note, because this provides a mapping for `cmd-k` (macos) and `ctrl-k` (linux/windows) using this keymap will disable all of the default chorded keymap entries which have `cmd-k` / `ctrl-k` as a prefix. For example `cmd-k cmd-s` for open keymap will no longer function. Release Notes: - Added Cursor compatibility keymap --------- Co-authored-by: Joseph Lyons <[email protected]> commit 070eac28e300be9e3383fafbc9cfab77d8dcb8a7 Author: Piotr Osiewicz <[email protected]> Date: Thu May 29 21:19:56 2025 +0200 go: Use delve-dap-shim for spawning delve (#31700) This allows us to support terminal with go sessions Closes #ISSUE Release Notes: - debugger: Add support for terminal when debugging Go programs commit 05692e298a1b9d5a28b5d47eb23ca475ecda15b9 Author: Danilo Leal <[email protected]> Date: Thu May 29 16:00:37 2025 -0300 agent: Fix panel "go back" button (#31706) Closes https://github.com/zed-industries/zed/issues/31652. Release Notes: - agent: Fixed a bug where the "go back" button wouldn't go back to the Text Thread after visiting another view from it. commit ccb049bd97b964eda50d5c29f2431b9387dd8e87 Author: Richard Feldman <[email protected]> Date: Thu May 29 14:33:41 2025 -0400 Format streamed edits on save (#31623) Re-enables format on save for agent changes (when the user has that enabled in settings), except differently from before: - Now we do the format-on-save in the separate buffer the edit tool uses, *before* the diff - This means it never triggers separate staleness - It has the downside that edits are now blocked on the formatter completing, but that's true of saving in general. Release Notes: - N/A --------- Co-authored-by: Agus Zubiaga <[email protected]> commit fe57eedb44e51d4998f2aa756eaeffe4dfd0f0a9 Author: Danilo Leal <[email protected]> Date: Thu May 29 15:31:35 2025 -0300 agent: Rename `PromptEditor` to `TextThread` in the panel's `ActiveView` (#31705) Was touching this part of the Agent Panel and thought it could be a quick name consistency win here, so it is aligned with the terminology we're currently actively using in the product/docs. Release Notes: - N/A commit c57e6bc784d116cbad0e040963db0c8243ea34c5 Author: 5brian <[email protected]> Date: Thu May 29 12:09:07 2025 -0400 tab_switcher: Add placeholder text (#31697) | Before | After | |---|---| |<img width="478" alt="image" src="https://github.com/user-attachments/assets/5baba783-ee31-42cd-9760-7ee19edb1123" />|<img width="478" alt="image" src="https://github.com/user-attachments/assets/1b149500-4a97-4085-80e5-fd628c92471a" />| Release Notes: - N/A commit 83135e98e653fd1483040b75c01ac13adb39fa6f Author: Piotr Osiewicz <[email protected]> Date: Thu May 29 15:44:55 2025 +0200 Introduce $ZED_CUSTOM_PYTHON_ACTIVE_ZED_TOOLCHAIN_RAW to work around (#31685) Follow up to #31674 Release Notes: - N/A Co-authored-by: Kirill Bulatov <[email protected]> commit 703ee29658a2f0326b6c47ee5efb83d6e0727888 Author: Umesh Yadav <[email protected]> Date: Thu May 29 18:42:42 2025 +0530 Rename Max Mode to Burn Mode throughout code and docs (#31668) Follow up to https://github.com/zed-industries/zed/pull/31470. I started looking at config and changed preferred_completion_mode to burn to only find its max so made changes to align it better with rebrand. As this is in preview build now. This doesn't touch zed_llm_client. Only the Zed changes the code and doc to match the new UI of burn mode. There are still more things to be renamed, though. Release Notes: - N/A --------- Signed-off-by: Umesh Yadav <[email protected]> Co-authored-by: Danilo Leal <[email protected]> commit f792827a01c5aa47c868b177e957a58979f75285 Author: Kirill Bulatov <[email protected]> Date: Thu May 29 15:55:47 2025 +0300 Allow to reuse PickerPopoverMenu outside of the model selector (#31684) LSP button preparation step: move out the component that will be used to build the button's context menu. Release Notes: - N/A commit 45f9edcbb98a9ffffd5dd8962c256a42b5bab7a5 Author: Danilo Leal <[email protected]> Date: Thu May 29 08:43:54 2025 -0300 docs: Add small refinements to CSS adjacent pages (#31683) Follow up to https://github.com/zed-industries/zed/pull/31681. Was visiting some of these pages and noticed these somewhat small formatting and copywriting improvement opportunities. The docs for Svelte in particular felt somewhat unorganized. Release Notes: - N/A commit e3354543c0196e33f67fff75c204ac5533834ea1 Author: Danilo Leal <[email protected]> Date: Thu May 29 08:15:59 2025 -0300 docs: Improve the Tailwind CSS page (#31681) Namely, ensuring we mention the support for their Prettier plugins. Release Notes: - N/A commit cb187b0b4db567688381387d9a7444e4f12da817 Author: Oleksiy Syvokon <[email protected]> Date: Thu May 29 13:35:29 2025 +0300 evals: Configurable number of max dialog turns (#31680) Release Notes: - N/A commit d989b2260b21f7d52b972b069c8fbc6e30f16113 Author: Kirill Bulatov <[email protected]> Date: Thu May 29 13:04:27 2025 +0300 Do not react on settings change for disabled minimaps (#31677) Turning minimap on during debug sessions would cause the console editor to gain the minimap, despite it being explicitly disabled in the code. Release Notes: - N/A commit ae076fa415fd8c859b4414c3a5839a5addd90351 Author: Dhruvin Gandhi <[email protected]> Date: Thu May 29 15:20:36 2025 +0530 task: Add ZED_RELATIVE_DIR task variable (#31657) This is my first contribution to zed, let me know if I missed anything. There is no corresponding issue/discussion. `$ZED_RELATIVE_DIR` can be used in cases where a task's command's filesystem namespace (e.g. inside a container) is different than the host, where absolute paths cannot work. I modified `relative_path` to `relative_file` after the addition of `relative_dir`. For top-level files, where `relative_file.parent() == Some("")`, I use `"."` for `$ZED_RELATIVE_DIR`, which is a valid relative path in both *nix and windows. Thank you for building zed, and open-sourcing it. I hope to contribute more as I use it as my primary editor. Release Notes: - Added ZED_RELATIVE_DIR (path to current file's directory relative to worktree root) task variable. commit b4af61edfe43ca17fdc973b3bcdccb4263d12105 Author: Kirill Bulatov <[email protected]> Date: Thu May 29 12:19:23 2025 +0300 Revert "task: Wrap programs in ""s (#31537)" (#31674) That commit broke a lot, as our one-off tasks (alt-enter in the tasks modal), npm, jest tasks are all not real commands, but a composition of commands and arguments. This reverts commit 5db14d315b0822c6d261c0853a3ea039877fd8a8. Closes https://github.com/zed-industries/zed/issues/31554 Release Notes: - N/A Co-authored-by: Piotr Osiewicz <[email protected]> commit ea8a3be91b66ef5e4deed1edad91eb5f3fbe114b Author: Smit Barmase <[email protected]> Date: Thu May 29 09:24:39 2025 +0530 recent_projects: Move SSH server entry to initialize once instead of every render (#31650) Currently, `RemoteEntry::SshConfig` for `ssh_config_servers` initializes on every render. This leads to side effects like a new focus handle being created on every render, which leads to breaking navigating up/down for `ssh_config_servers` items. This PR fixes it by moving the logic of remote entry for`ssh_config_servers` into `default_mode`, and only rebuilding it when `ssh_config_servers` actually changes. Before: https://github.com/user-attachments/assets/8c7187d3-16b5-4f96-aa73-fe4f8227b7d0 After: https://github.com/user-attachments/assets/21588628-8b1c-43fb-bcb8-0b93c70a1e2b Release Notes: - Fixed issue navigating SSH config servers in Remote Projects with keyboard. commit 5173a1a968d1aa716269736a39283c461d406608 Author: Smit Barmase <[email protected]> Date: Thu May 29 08:55:29 2025 +0530 recent_projects: Fix remote projects not regaining focus after SSH server connect (#31651) Closes #28071 Release Notes: - Fixed issue preventing remote projects modal from regaining focus after a successful SSH server connection. commit 87f097a0abdd732be70048c0c47b77cd6abbbc5f Author: Smit Barmase <[email protected]> Date: Thu May 29 08:55:12 2025 +0530 terminal_view: Fix terminal stealing focus on editor selection (#31639) Closes #28234 Release Notes: - Fixed the issue where the terminal focused when the mouse hovered over it after selecting text in the editor. commit f9407db7d6eb7d5c2a3d79350662030bd83e748d Author: Cole Miller <[email protected]> Date: Wed May 28 21:58:40 2025 -0400 debugger: Add spinners while session is starting up (#31548) Release Notes: - Debugger Beta: Added a spinner to the debug panel when a session is starting up. --------- Co-authored-by: Remco Smits <[email protected]> Co-authored-by: Julia <[email protected]> commit 384b11392a1ef1c72d40bd1d679f0379875d12e0 Author: Cole Miller <[email protected]> Date: Wed May 28 21:44:15 2025 -0400 debugger: Disambiguate child session labels (#31526) Add `(child)` instead of using the same label. Release Notes: - Debugger Beta: Made child sessions appear distinct from their parents in the session selector. commit f20596c33ba9baab349321a2be4ada3f1241fd14 Author: Cole Miller <[email protected]> Date: Wed May 28 21:44:00 2025 -0400 debugger: Don't open non-absolute paths from stack frame list (#31534) Follow-up to #31524 with a more general fix Release Notes: - N/A --------- Co-authored-by: Piotr <[email protected]> commit eb863f8fd621644c07728669acd8a3bdf7ca1170 Author: Marshall Bowers <[email protected]> Date: Wed May 28 20:57:04 2025 -0400 collab: Use `StripeClient` when creating Stripe Checkout sessions (#31644) This PR updates the `StripeBilling::checkout_with_zed_pro` and `StripeBilling::checkout_with_zed_pro_trial` methods to use the `StripeClient` trait instead of using `stripe::Client` directly. Release Notes: - N/A commit 97579662e6a62ec7532f077055a52413ab2e07de Author: Max Brunsfeld <[email protected]> Date: Wed May 28 16:05:06 2025 -0700 Fix editor rendering slowness with large folds (#31569) Closes https://github.com/zed-industries/zed/issues/31565 * Looking up settings on every row was very slow in the case of large folds, especially if there was an `.editorconfig` file with numerous glob patterns * Checking whether each indent guide was within a fold was very slow, when a fold spanned many indent guides. Release Notes: - Fixed slowness that could happen when editing in the presence of large folds. commit 53849cf983951cb3cc2407449b2db84b234afcb4 Author: Marshall Bowers <[email protected]> Date: Wed May 28 19:00:54 2025 -0400 collab: Remove Zed Free as an option when initiating a checkout session (#31638) This PR removes Zed Free as an option when initiating a checkout session, as we manage this plan automatically now. Release Notes: - N/A commit 1e25249055c33d39047e38abff6739ed4a060ba8 Author: Danilo Leal <[email protected]> Date: Wed May 28 19:27:47 2025 -0300 docs: Adjust the channels page a bit (#31636) All the docs related to collaboration could use some deep revamp, but this PR is just formatting tweaks so it doesn't look broken. The images weren't showing at all! Release Notes: - N/A commit 469824c350ab5d574df42349dfa94c36e2b5513a Author: Marshall Bowers <[email protected]> Date: Wed May 28 18:19:43 2025 -0400 collab: Use `StripeClient` for creating model usage meter events (#31633) This PR updates the `StripeBilling::bill_model_request_usage` method to use the `StripeClient` trait. Release Notes: - N/A commit a1c645e57e367bf998eee5bb4bdba05818b8397d Author: Danilo Leal <[email protected]> Date: Wed May 28 19:16:40 2025 -0300 docs: Improve footer button design (#31634) Just touching up these a little bit. I think including the page destination as a label here is a good move! Release Notes: - N/A commit 0791596cdacfafc2541f94411c3aa2acf67e01a2 Author: Danilo Leal <[email protected]> Date: Wed May 28 19:16:32 2025 -0300 docs: Hide "on this page" element when there are no headings (#31635) We were still showing the "On this page" element even when the page didn't contain any h2s or h3s. Release Notes: - N/A commit 9cc1851be7aad564d5382ad6880c2679686e366b Author: Finn Evers <[email protected]> Date: Thu May 29 00:02:40 2025 +0200 python: Improve docstring highlighting (#31628) This PR broadens the highlighting for docstrings in Python. Previously, only the first docstring for e.g. type aliases was highlighted in Python files. This happened as only the first occurrence in the module was considered a docstring. With this change, now all existing docstrings are actually highlighted as such. | `main` | This PR | | --- | --- | |  |  | Release Notes: - Added more docstring highlights for Python. commit 50bd8770bd64ae76dc84c6cc6935ee1c04c0daf9 Author: Finn Evers <[email protected]> Date: Wed May 28 23:29:51 2025 +0200 file_finder: Reduce vertical padding in footer (#31632) Follow-up to #31542 This PR reduces the vertical padding in the file finders footer. We can remove this padding as we already apply it just above https://github.com/zed-industries/zed/blob/a5a116439e711772190b7fb8e5507eb5dbd95237/crates/file_finder/src/file_finder.rs#L1500 This also ensures that the items on the right side have the same padding to the border as the icon on the left side. Currently, due to the padding being applied twice, the items on the right side have `pr_4` as well as `py_4` in practice, which seems a little excessive. | `main` | This PR | | --- | --- | |  |  | Release Notes: - N/A commit 00bdebc89dbc3db717d7ad4e2a740775b2fe96ed Author: Marshall Bowers <[email protected]> Date: Wed May 28 17:17:11 2025 -0400 collab: Use `StripeClient` in `StripeBilling::subscribe_to_price` (#31631) This PR updates the `StripeBilling::subscribe_to_price` method to use the `StripeClient` trait. Release Notes: - N/A commit d5134062ac0afb8729c20ee8d353b7d6bb384536 Author: Danilo Leal <[email protected]> Date: Wed May 28 18:08:58 2025 -0300 agent: Add keybinding to toggle Burn Mode (#31630) One caveat with this PR is that the keybinding still doesn't work for text threads. Will do that in a follow-up. Release Notes: - agent: Added a keybinding to toggle Burn Mode on and off. commit 0e9f6986cf9b5c51907cc7e57260ed11e84c3ae7 Author: Julia Ryan <[email protected]> Date: Wed May 28 22:32:12 2025 +0200 nix: Add job names and garnix substitutor (#31625) This should result in some additional cache hits as I personally use garnix. Also added `-v` cachix arg to try to figure out why CI jobs aren't pushing any paths. Right now they just show ["Pushing is disabled."](https://github.com/zed-industries/zed/actions/runs/15293723678/job/43018512167#step:13:3) but I'm not sure if that's due to the `pushFilter` or misconfigured secrets. Release Notes: - N/A commit 1035c6aab5700535c8b32b17cfaa67379bdfacfc Author: Finn Evers <[email protected]> Date: Wed May 28 21:59:51 2025 +0200 editor: Fix horizontal scrollbar alignment if indent guides are disabled (#31621) Follow-up to #24887 Follow-up to #31510 This PR ensures that [this misalignment of the horizontal scrollbar](https://github.com/zed-industries/zed/pull/31510#issuecomment-2912842457) does not occur. See the entire discussion in the first linked PR as to why this gap is there in the first place. I am also aware of the general stance towards comments. Yet, I felt for this case it is better to just straight up explain how these two things are connected, as I do believe this is not intuitively clear after all. Might also be a good time to bring https://github.com/zed-industries/zed/issues/25519 up again. The horizontal scrollbar seems huge for the edit file tool card. Furthermore, since we do not reserve space for the horizontal scrollbar (yet), this will lead to the last line being not clickable. Release Notes: - N/A commit 75e69a5ae9bf4eacc87bf62cdc12adefdf36834d Author: Marshall Bowers <[email protected]> Date: Wed May 28 15:51:06 2025 -0400 collab: Use `StripeClient` to retrieve prices and meters from Stripe (#31624) This PR updates `StripeBilling` to use the `StripeClient` trait to retrieve prices and meters from Stripe instead of using the `stripe::Client` directly. Release Notes: - N/A commit 05afe95539e084f570c7828fe6a1c87cefb1fbe8 Author: Oleksiy Syvokon <[email protected]> Date: Wed May 28 22:31:54 2025 +0300 agent: Fix bug in creating empty files (#31626) Release Notes: - NA commit a5a116439e711772190b7fb8e5507eb5dbd95237 Author: Oleksiy Syvokon <[email protected]> Date: Wed May 28 21:44:49 2025 +0300 agent: Rejecting agent changes shouldn't discard user edits (#31617) The fix prevents data loss, but it also results in a somewhat confusing UX. Specifically, after the user has made changes to an AI-created file, selecting "Reject" will leave AI changes in place. This is because there's no trivial way to disentangle user edits from the edits made by the AI. A better solution might exist. In the meantime, this change should do. Closes * #30527 Release Notes: - Prevent data loss when reverting changes in an agent-created file commit 361ceee72b6498bbb48726c4d14a026a81482bfb Author: Marshall Bowers <[email protected]> Date: Wed May 28 14:34:44 2025 -0400 collab: Introduce `StripeClient` trait to abstract over Stripe interactions (#31615) This PR introduces a new `StripeClient` trait to abstract over interacting with the Stripe API. This will allow us to more easily test our billing code. This initial cut is small and focuses just on making `StripeBilling::find_or_create_customer_by_email` testable. I'll follow up with using the `StripeClient` in more places. Release Notes: - N/A commit 68724ea99edbb38a476206f805b3dfb4e8e33de9 Author: Danilo Leal <[email protected]> Date: Wed May 28 15:29:52 2025 -0300 agent: Make clicking on the backdrop to dismiss message editing more reliable (#31614) Previously, the click on the backdrop to dismiss the message editing was unreliable. You would click on it and sometimes it would work and others it wouldn't. This PR fixes that now. Release Notes: - agent: Fixes the previous message dismissal by clicking on the backdrop commit e12106e025b3fa09bf65284e57d5cca5fab1772f Author: Danilo Leal <[email protected]> Date: Wed May 28 15:24:58 2025 -0300 agent: Move focus to the panel after dismissing a user message edit (#31611) Previously, when you clicked on a previous message to edit it and then dismissed it, your focus would jump to the buffer. This caught me several times as the most obvious place to return to for me was the agent panel main message editor, so I can continue prompting something else. And this is what this PR changes. Release Notes: - agent: Improved previous message editing UX by returning focus to the main panel's text area after dismissing it. commit 77aa667bf33cc10b277eae8d43c5de53099b6d49 Author: Umesh Yadav <[email protected]> Date: Wed May 28 23:39:20 2025 +0530 docs: Update LM Studio docs to show tool use is supported (#31610) As the lmstudio tool call support was added recently: https://github.com/zed-industries/zed/pull/30589. This updates the doc to reflect it. Release Notes: - N/A commit 8b47b40dc09b332edb27ba211895cd252475872e Author: Peter Tripp <[email protected]> Date: Wed May 28 13:54:07 2025 -0400 Improve AI GitHub Issue template (#31598) Release Notes: - N/A commit 01990c83751f24098c4f214f7b0435810881aa7b Author: Max Brunsfeld <[email protected]> Date: Wed May 28 10:12:27 2025 -0700 Bump Tree-sitter to 0.25.5 for YAML-editing crash fix (#31603) Closes https://github.com/zed-industries/zed/issues/31380 See https://github.com/tree-sitter/tree-sitter/pull/4472 for the fix Release Notes: - Fixed a crash that could occur when editing YAML files. commit 4e7dc37f0164500c92569c2fab285d73390a711d Author: Umesh Yadav <[email protected]> Date: Wed May 28 22:13:08 2025 +0530 language_models: Remove handling of WrappedTextContent in tool result content (#31605) Fixes ci pipeline Release Notes: - N/A commit 00fd045844a4bfc902863c64a2a331df16fea629 Author: Richard Feldman <[email protected]> Date: Wed May 28 12:06:07 2025 -0400 Make language model deserialization more resilient (#31311) This expands our deserialization of JSON from models to be more tolerant of different variations that the model may send, including capitalization, wrapping things in objects vs. being plain strings, etc. Also when deserialization fails, it reports the entire error in the JSON so we can see what failed to deserialize. (Previously these errors were very unhelpful at diagnosing the problem.) Finally, also removes the `WrappedText` variant since the custom deserializer just turns that style of JSON into a normal `Text` variant. Release Notes: - N/A commit 7443fde4e9d34b3b4558c68787453f44b323e485 Author: Joseph T. Lyons <[email protected]> Date: Wed May 28 11:51:21 2025 -0400 Show version info when downloading and installing updates (#31568) Follow up to #31179 In addition to seeing the version when in the `Click to restart and update Zed` status, this PR allows us to see the version when in `Downloading Zed update…` or `Installing Zed update…` status, in a …
Closes #26672, #20984
Release Notes: